package com.silence.springboot.dao;

import com.mybatisflex.core.query.QueryWrapper;
import com.silence.springboot.entity.AuthorInfoEntity;
import com.silence.springboot.mapper.AuthorInfoMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;

import java.util.List;

import static com.silence.springboot.entity.table.AuthorInfoEntityTableDef.AUTHOR_INFO_ENTITY;


/**
 * 作者信息表 数据访问层实现。
 */
@Slf4j
@Repository
@RequiredArgsConstructor
public class AuthorInfoDao {

    /**
     * 作者信息表 Mapper 接口
     */
    private final AuthorInfoMapper authorInfoMapper;

    /**
     * 根据作者姓名查询作者信息表实体类
     *
     * @param bookAuthorName 作者姓名
     * @return 作者信息表实体类
     */
    public List<AuthorInfoEntity> selectAuthorByQuery(String bookAuthorName) {
        // 查询数据库中的作者信息
        return authorInfoMapper.selectListByQuery(QueryWrapper.create()
                .select()
                .from(AUTHOR_INFO_ENTITY)
                .where(AUTHOR_INFO_ENTITY.BOOK_AUTHOR_NAME.eq(bookAuthorName)));
    }
}
